\subsection*{Disadvantages of standard capturing software}
\begin{frame}
\frametitle{Disadvantages of Standard Packet Capturing Stack}
\begin{itemize}
	\item<1-> Memory allocations
		\begin{itemize}
			\item<1-> For each new received packet a new \emph{mbuf} 
				is allocated\newline
		\end{itemize}


	\item<2-> Too many packet copies
		\begin{itemize}
\ifthenelse{\boolean{SUMMIT}}{
			\item<2-> DMA: $Controller \Rightarrow RAM$
			\item<2-> BPF: $RAM \Rightarrow RAM (BPF\ Buffer)$
			\item<2-> read(2): $RAM \Rightarrow RAM (Userspace\ Buffer)$\emph{(*)}\newline
}{
			\item<2-> DMA: $FIFO \Rightarrow Packet\ Buffer$
			\item<2-> $Packet\ Buffer \Rightarrow BPF\ Buffer$
			\item<2-> $BPF\ Buffer \Rightarrow Userspace\ Buffer$\emph{(*)}\newline
}
		\end{itemize}

	\item<3-> System calls
		\begin{itemize}
			\item<3-> User-space application receives the packets using read(2)\emph{(*)}
			\item<3-> Saving packets to the hard disk\newline
		\end{itemize}

\end{itemize}
\begin{tiny}
\emph{(*)} Using Zero-Copy BPF eliminates the last copy and system call
\end{tiny}
\end{frame}
